﻿#region Header

/*
Remote views based on linq
By

Pascal Hauser 
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

and

Raphael Gfeller
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

*/

#endregion

#region Usings

#endregion

using Sebarf.Core.Interfaces;

namespace Sebarf.Core {
	/// <summary>
	/// Is responsible 
	/// - a. for forwarding request to a Sebarf server instance
	/// - b. process the request locally
	/// - c. connect to Sebarf server instance
	/// </summary>
	public interface IClient : IRequestHandlerEngine {
		#region Public Methods

		/// <summary>
		/// connect to a Sebarf server instance
		/// </summary>
		void Connect();

		/// <summary>
		/// process the request locally
		/// </summary>
		/// <param name="request"></param>
		/// <returns></returns>
		object ProcessLocal(IRequest request);

		#endregion
	}
}